Collection<PyFunction> (@NotNull final Property property) { final Collection<PyFunction> result = new ArrayList<>(3); final PyCallable getter = property.getGetter().valueOrNull(); final PyCallable setter = property.getSetter().valueOrNull(); final PyCallable deleter = property.getDeleter().valueOrNull(); if (getter instanceof PyFunction) { result.add((PyFunction)getter); } if (setter instanceof PyFunction) { result.add((PyFunction)setter); } if (deleter instanceof PyFunction) { result.add((PyFunction)deleter); } return result; }